Мiнiстерство освiти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
Курсова робота з дисципліни «Програмування. Частина ІІІ.Структури даних та алгоритми»
2.1 № варіанта =(((30*13)%1)*3+13)%30=13
2.2 № варіанта = ((30+13)*(1+3))%30 = 22
2.3 № варіанта =(13*10+1*3)%30 = 13
2.4 № варіанта = (30*3*1+(3%3)*13)%30 = 0
2.5№ варіанта = (30+3+1*13+30*3)%30 = 16
Завдання на курсову роботу
Завдання 1. Визначити внутрішнє представлення в пам’яті комп’ютера даних базових типів. Розглянути основні прості (цілі, дійсні, символьні, логічні) типи даних:
Варіант: MN(3)%5 = 3;
DN(30)%6 = 0;
bool b=0;
signed char ch3='r';
unsigned long i5=10560;
double d2= 90.30e+3;
Завдання 2: Внутрішні формати похідних типів
Визначити представлення в пам’яті комп’ютера рядків символів. Оголосити рядок символів і ініціалізувати його. Після цього виконати деякі переприсвоювання згідно варіанту.
// 0976188749
char *string13 = "f\33\\\\gf\xfag\5 \n\\v""hello\"?\?""";
string0 [0] = '7';
string0 [2] = '6';
string0 [4] = '1';
string0 [6 ] = '8';
string0 [8] = '8';
string0 [10] = '7';
string0 [12] = '4';
string0 [14] = '9';
Визначити представлення в пам’яті комп’ютера переліків. Оголосити три змінні перелікового типу і надати їм значення згідно варіанту.
enum color22 {
BLUE,
GREEN = -1,
CYAN,
RED = -3,
BROWN,
GRAY = -5,
YELLOW,
WHІTE,
MAGENTA,
LІGHTGRAY,
DARKGRAY,
BLACK
} c1= CYAN,
c2= BROWN,
c3= DARKGRAY;
Визначити представлення в пам’яті комп’ютера масивів. Оголосити масив та ініціалізувати його. Після цього виконати переприсвоювання згідно варіанту.
unsigned char array13[][2][5] = {{1,4},657,23,533}
array0[0][0][0] = 0 * 30 = 0
array0[0][0][1] = 9 * 30 = 270
array0[0][1][0] = 7 * 30 = 210
array0[0][1][1] = 6 * 30 = 180
array0[0][2][0] = 1 * 30 = 30
array0[0][2][1] = 8 * 30 = 240
array0[1][0][0] = 8 * 30 = 240
array0[1][0][1] = 7 * 30 = 210
array0[1][1][0] = 4 * 30 = 120
array0[1][1][1] = 9 * 30 = 270
Визначити представлення в пам’яті комп’ютера структур. Оголосити структуру, після цього надати всім елементам структури значення згідно варіанту.
struct str0 {
long d;
double a;
char c[5];
unsigned : 2;
unsigned :5;
unsigned e:3;
unsigned b:3;
unsigned :0;
wchar_t f;
}str;
str.a = 30.90;
str.b = 13*1*124; // 13*1*124 = 1612
str.c[0] = ‘V’;
str.c[1] = ‘e’;
str.c[2] = ‘r’;
str.c[3] = ‘e’;
str.c[4] = ‘m’;
str.d = 764 * 13 * 1; // 764 * 13 * 1 = 9932
str.e = 30 * 3 * 36; // 3 0* 3 * 36 = 3240
str.f = 9;
Визначити представлення в пам’яті комп’ютера об'єднань. Оголосити об'єднання, надати деяким елементам об'єднання початкові значення.
union un16 {
char a[6];
double e;
int c;
struct{
float f[3];
int b;
};
} un;
un.e = 1 * 325 + 1993 * 30; // 1 * 325 + 1993 * 30 = 60115
un.c = 30* (3 + 13) * 100; // 30* (3 + 13) * 100 = 48000
un.a[0] = ‘8’;
un.a[1] = ‘8’;
un.a[2] = ‘7’;
un.a[3] = ‘4’;
un.a[4] = ‘9’;
Зміст
Вступ
Теоретична частина
Алгоритм розв’язання задачі
Система тестів
Внутрішні формати базових типів
Логічний тип
Символьний тип
Цілий тип
Дійсний тип
Внутрішні формати похідних типів
Рядок символів
Перерахування
Масив
Структура
Об’єднання
Результати виконання програми
Висновки
Список літератури
Додатки
Вступ
Дана курсова робота полягає у вивченні представлення в мові програмування С++ різних типів даних, як простих (логічний, символьний, дійсні, цілі), так і похідних(структури, масиви, перерахування, об’єднання)
Знати про структури даних важливо, оскільки від правильного вибору структур, на яких буде реалізуватися програмний продукт, залежить ефективність роботи програми. В цій роботі й буде продемонстровано, як саме різні типи даних зберігаються в комп’ютері.
Теоретична частина
1.1 Базові типи даних
1.1.1 Логічний тип даних
В мові C++ логічний тип (bool) характеризується двома значеннями: false (0) і true (1). В пам'яті комп'ютера з...